The virtualization technology is a decoupling method for separating bottom hardware devices from an upper-layer operation system and applications. It introduces a Virtual Machine Monitor (VMM) layer to directly manage bottom hardware resources, and create a Virtual Machine (VM) independent from the bottom hardware for a use by the upper-layer operation system and applications. The VM may be classified into a hotspot domain VM and a common domain VM. The common domain VM is created by a user to operate general tasks. The hotspot domain VM plays a pivotal role in the system and is depended by the common domain VM. In various virtualization systems, the hotspot domain VM has different features. For example, in some systems there is a driver field virtualization, through which the common domain virtualization interacts with the physical hardware.
In the VM system, the VM has no real physical resource. The CPU assigned to the VM is not a real physical CPU, but a Virtual Central Processing Unit (vCPU) assigned to the VM by the VMM. In the virtualization environment, dual-dispatching of the CPU resources exists: on one hand, an Operation System (OS) dispatcher inside the VM dispatches a thread to the vCPU; on the other hand, a VMM dispatcher dispatches the vCPU to the physical CPU. The implementation of the OS dispatcher inside the VM is dependent upon the specific OS and cannot be changed, thus the VMM dispatcher has a very important influence on the performance of the whole VM system.
Currently, the VMM dispatcher usually adopts a dispatching strategy of equally dispatching the vCPUs of the common domain VM and the hotspot domain VM, so the common domain VM may preempt the CPU time of the hotspot domain VM, which causes a poor real-time performance of the hotspot domain VM, and no response to the request from the common domain VM is made in time, particularly, when there are a large number of VMs, the whole performance may be sharply degraded. Another dispatching strategy is that the VMM dispatcher assigns a fixed physical CPU resource to the hotspot domain VM, and the number of the default vCPUs is correlative to that of the real physical CPUs. When a large number of physical CPUs are available in the system, there are also many vCPUs. On one hand, resource waste will be caused by a light system load. On the other hand, the system performance cannot be improved by increasing the vCPUs in the hotspot domain VM in case of a heavy system load, especially when too many vCPUs exist in the common domain. Therefore, the existing VM system has a low CPU resource utilization rate and a poor system performance.